import { useUserStore } from '../store/user.js'
console.log("拦截器开始")
/**
 * 处理对路由导航 API 方法调用的拦截
 */
// 需要拦截的 api 方法数组
const apis = ['navigateTo', 'switchTab','redirectTo','navigateBack','preloadPage']

// 需要拦截页面访问权限的路由
const list = [
	"/pages/index/index",
	"/pages/postTrends/postTrends",
	"/pages/trendDetail/trendDetail",
	"/pages/likes/likes",
	"/pages/trends/trends",
	"/pages/message/message",
	"/pages/mine/mine",
	"/pages/messageDetail/messageDetail",
	"/pages/follows/follows",
	"/pages/changeUserInfo/changeUserInfo",
	"/uni_modules/vk-uview-ui/components/u-avatar-cropper/u-avatar-cropper",
	"/pages/myImages/myImages",
	"/pages/myTags/myTags"
	]
apis.forEach(api => {
	uni.addInterceptor(api, {
		// 拦截前调用处理
		invoke({url}) {
			// 在 list 数组中有当前访问的 url 地址
			// 则说明当前访问页面需要登录后才能访问到
			if (list.includes(url)) {
				// 本地用户登录的 token 数据
				const token = uni.getStorageSync('token')
				// console.log('token',token)
				// const userStore = useUserStore()
				// const token = userStore.token
				// 如果不存在用户登录的 token，则跳转到登录页面
				if (!token) {
					uni.showToast({
						title: "请先登录！",
						icon: 'none'
					});
					uni.navigateTo({
					 	url:'/pages/login/login'
					})
					return false
				}
			}
		}
	})
})
console.log("拦截器结束")
